package com.quectel.pay.module.order.dto.request;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 下单需要的参数
 */
@Data
public class InitOrderParams implements Serializable {

    /**
     * 租户id
     */
    private Long tenantId;
    /**
     * 小区id
     */
    private Long villageId;

    private Long payChannelId;

    /**
     * 业务类型
     */
    private String businessType;
    /**
     * 业务类型id
     */
    private Long businessId;

    /**
     * 1支付宝 2微信 3小程序
     */
    private Byte payType;
    /**
     * 1 jsapi 2 app
     */
    private Byte terminalType;
    /**
     * 1Android2iOS
     */
    private Byte mobileType;

    /**
     * 手机号
     */
    private String mobile;
    /**
     * 商户订单号 为null则在service自动生成
     */
    private String outTradeNo;
    /**
     * 如充电10分钟
     */
    private String productName;
    /**
     * 原价
     */
    private BigDecimal originalPrice;
    /**
     * 优惠价(即实际支付金额)
     */
    private BigDecimal specialPrice;

    /**
     * 有些支付为必须参数
     */
    private String ipAddress;

    /**
     * 回调地址 支付宝支付回掉和退款回掉同一个
     */
    private String notifyUrl;
    /**
     * 退款回调
     */
    private String refundNotifyUrl;

    /**
     * 微信JSAPI必传
     */
    private String openId;
    /**
     * 订单存活时间(null或者小于等于0不限制) 毫秒
     */
    private Long ttl;
}
